Hacking Final Fantasy 3j NESticle save states
                                                            by Sliver X
                                                              Revision 2.0

What's new in this version?
Now has the COMPLETE item list. A massive thanks to Sloat for sending me the list.
What's going to be in the next version?
Probably nothing. This is pretty much everything.

This file is an attempt to share what I've learned as far as screwing around with save state files for this excellent rpg. When you're finished reading this, you'll be able to get that item you could never find, or make your party into god-like harbingers of death and carnage. (That is, assuming you know how to use a hex editor, which I'm not going to go into here.)

What you need:

1:A hex editor, such as Hex Workshop, the best I've seen in my opinion.

2: NESticle, a FF3j .sta file and rom. (Of course)

That's it, so let's get to the important stuff.

Open up the .sta file in the hex editor, and goto offset 00000100. This is the first line of data where the stats for the first player in your lineup are stored. There are 4 lines, each 16 bytes apiece for each character, which is represented here:

This is the data for the first player. I've listed where each stat's byte is located, at least the ones I've figured out. These are enough to do pretty much what you want to do with your guys though. Here's the descriptions of what they mean.
Job: Pretty self explanatory, this is the current occupation of your guy, such as Onion Kid, Ninja, ect.
Lvl:Once again pretty obvious, this is your current Level.
Status: Your current status, such as poison, mini, ect. The values I found were 02 (poison), 04 (blind), and 08 (mini). Other bytes can be multiple status, such as mini and poisoned.
Experience: Your current experience points. Can be anywhere up to over a million, depending on what bytes you put in the three locations.
Player Name Data:Where your name is stored. Useful if you're unhappy with your name.
HP:Your Current Hit Points.
M HP: Your maximum Hit Points.
Job Lvl: The level of skill you have of your current occupation.
Max Str, Agi, Vit, Int, and Spi:Your maximum Strenght, Agility, Vitality, Intellect, and Spirit respectivly.
Str, Agi, Vit, Int, Spi: Your current Strength, Agility, Vitality, ect.
Magic Defense: How much resistance you have to magic. Follows the normal 00 to 63 bytes just like Str, Agi, ect.
Defense %: Your defense is multiplied by this number. Follows the 00 to 63 system.
Evade %: The chances you have of avoiding an attack. Also follows the 00 to 63 system.
Lv1 MP through Lvl8 MP: Your current Magic Points.
Lvl1 Max MP through Lvl8 Max MP: Your Maximum Magic Points.

Ok, so now you know where it's all stored at, but how do you change it to what you want? Well, it was kind of tricky on me sometimes when I would try to change a byte to 63 (99 in hexadecimal), making some of my stats go into weird hex numbers in the game, but 62 seemed to work right for some reason. Don't ask me. The only ones I had this problem with were the Strength, Vitality, and all that crap, so 63 should work for everything else.
Another thing that I didn't really understand was the way the HP/M HP bytes were ordered, so the only ones I took time to work out were the values for 9999, which is 0F27. As for the Job bytes, I'm listing them at the bottom of this document.
Changing them is as easy as just changing the byte to what value you want.

Another note is that character information is stored three times in the .sta file, so you'll have to change all three. I'm not sure what would happen if you didn't. Anyway, the four characters' data is stored at these offsets:

Player 1: 00000100, 00000500, 00000900
Player 2: 00000140, 00000540, 00000940
Player 3: 00000180, 00000580, 00000980
Player 4: 000001c0, 000005c0, 000009c0

Changing your Inventory

Goto offset 000000c0 in your hex editor. This is the first line of (guess?)
your inventory. The first 2 16 byte lines are the actual items, and the next 2 are the item numbers, shown here:

The way it works is that if the byte on 000000c0 is 37, (the Masamune) then offset 000000e0 is the number of Masamunes you have. So basically just put in the item you want, then go 2 lines down and put the number of that item you want. So with this you can have 99 Excaliburs or whatever you want. Not exactly a bad thing to be able to do.

A decent trick. If you equip a character with a weapon, save a .sta file and change that characters Job, you'll still be holding that weapon or armor even if you've changed to a class that can't use it. So you can have a Scholar running around with 2 Ragnarock Swords and Crystal Armor, or a Black Mage with Axes or whatever you can think of.
 

Bytes

Jobs:
Onion Kid = 00
Fighter = 01
Monk = 02
White Wizard = 03
Black Wizard = 04
Red Wizard = 05
Archer = 06
Knight = 07
Thief = 08
Scholar = 09
Geomancer = 0A
Dragoon = 0B
Viking = 0C
Master = 0D
Mystic Knight = 0E
Conjurer = 0F
Bard = 10
Warlock = 11
Shaman = 12
Summoner = 13
Sage = 14
Ninja = 15

Sloat's weapons, armor, and items list: (Complete)
Note: These are listed in sequential order by hex value. If you don't see the weapon you want in a certain category, look farther down for it.

00=(Empty) ;yes, you can have 99 of nothing
-claws-
01=kaiser
02=catclaw
03=dragon
04=elven
05=hellclaw
-nunchucks-
06=nunchuck
07=tonfa
08=3-part
-rods-
09=mithril
0A=flame
0B=ice
0C=light
0D=ultimate
-staffs-
0E=staff
0F=burning
10=freezing
11=shining
12=golem
13=rune
14=eldest
-hammers-
15=hammer
16=thor
-axes-
17=battle
18=great axe
19=m. star
-spears-
1A=thunder
1B=wind
1C=blood
1D=holy
-daggers-
1E=knife
1F=dagger
20=mithril
21=m. gauche
22=orialcon
23=airknife
-swords-
24=long
25=w.slayer
26=shiny
27=mithril
28=serpent
29=iceblade
2A=tyrving
2B=salamand
2C=king
-axes-
2D=tomahawk
-swords-
2E=ancient
-katana-
2F=ashura
-swords-
30=blood
31=defender
-hammers-
32=triton
-katana-
33=kotetsu
34=kiku
-swords-
35=break
36=excalibur
-katana-
37=masamune
-swords-
38=ragnarok
39=onion
-spellbooks-
3A=flame
3B=ice
3C=inferno
3D=light
3E=illumina
-misc.-
3F=boomerng
40=fullmoon
41=shuriken
-spellbooks-
42=blizzard
-bells-
43=giyman
44=earth
45=rune
-uhh..music stuff-
46=madora
47=dream
48=lamia
49=loki
-bows-
4A=bow
4B=greatbow
4C=killer
4D=rune
4E=yoichi
-arrows-
4F=wooden
50=holy
51=iron
52=boly
53=fire
54=ice
55=medusa
56=yoichi
57=(empty?)
-shields-
58=leather
59=onion
5A=mithril
5B=ice
5C=hero
5D=demon
5E=diamond
5F=aegis
60=genji
61=crystal
-helmets-
62=leather
63=onion
64=mithril
65=carapace
66=ice
67=headband
68=scholar
69=darkhood
6A=chakra
6B=viking
6C=dragon
6D=feather
6E=diamond
6F=genji
70=crystal
71=ribbon
-armor-
72=cloth
73=leather
74=onion
75=mithril
76=carapace
77=ice
78=flamemail
79=kenpo
7A=darksuit
7B=wizard
7C=viking
7D=blackbelt
7E=knight
7F=dragon
80=bard
81=scholar
82=gaia
83=demon
84=diamond
85=reflect
86=whiterobe
87=blackrobe
88=genji
89=crystal
8A=rusted
-gauntlets & rings-
8B=copper
8C=onion
8D=mithril
8E=mithril
8F=thief
90=gauntlet
91=power
92=rune
93=diamond
94=diamond
95=protect
96=genji
97=crystal
-misc.-
98=magic key
99=carrot
9A=horn
9B=eye
9C=timegear
9D=eurekakey
9E=wind fang
9F=fire fang
A0=waterfang
A1=earthfang
A2=lute
A3=sylx key
A4=midgbread
A5=?
A6=potion
A7=hipotion
A8=elixir
A9=fenixdown
AA=soft
AB=maidkiss
AC=echoherb
AD=luckmallet
AE=eyedrop
AF=anitdote
B0=otterhead
B1=bombshard
B2=southwind
B3=zeus' rage
B4=bombR.Arm
B5=northwind
B6=gods' rage
B7=earthdrum
B8=lamiascl.
B9=gods' wine
BA=turtlshell
BB=devil'sSigh
BC=BlackHole
BD=darkscent
BE=lilithkiss
BF=impsyawn
C0=SplitShell
C1=paralyzer
C2=mutecharm
C3=pillow
C4=bombhead
C5=barrier
C6=chocorage
C7=whitescent
-spells-
C8=flare
C9=death
CA=meteo
CB=wwind
CC=life2
CD=holy
CE=baham
CF=quake
D0=brak2
D1=drain
D2=cure4
D3=heal
D4=wall
D5=levia
D6=fire3
D7=bio
D8=warp
D9=aero2
DA=soft
DB=haste
DC=odin
DD=bolt3
DE=kill
DF=erase
E0=cure3
E1=life
E2=safe
E3=titan
E4=break
E5=ice 3
E6=shade
E7=libra
E8=confu
E9=mute
EA=ifrit
EB=fire2
EC=ice2
ED=bolt2
EE=cure2
EF=exit
F0=wash
F1=ramuh
F2=bolt
F3=venom
F4=blind
F5=aero
F6=toad
F7=mini
F8=shiva
F9=fire
FA=ice
FB=sleep
FC=cure
FD=pure
FE=sight
FF=chocb
 
 

 
That's it. Hopefully you'll get something out of this. If you have any questions or comments, email me at sliverx@hotmail.com
And please, don't ask me for roms. I have no idea where to get them.